package cn.vshare.service;

import cn.vshare.entity.Role;
import cn.vshare.entity.User;

import java.util.List;
import java.util.Map;

public interface UserService  {
    List<User> getAllFriend(User user);
    User login(User user);

    /**
     * 用户注册
     * @param user
     * @return
     */
    int register(User user);

    /**
     * 更新用户信息
     * @param user
     * @return
     */
    int updateUser(User user);

    /**
     * 通过id查询用户
     * @param user 用户对象
     * @return
     */
    User queryUserById(User user);

    /**
     * 通过id删除用户
     * @param id
     */
    void delUserById(String id);

    /**
     * 恢复删除的用户
     * @param id
     */
    void recoverDelUser(String id);

    /**
     * 通过角色统计用户数目
     * @param role
     * @return
     * @author penghaixin
     */
    int countUserByRole(Role role);

    /**
     * 添加好友
     * @param map
     */
    void addFriend(Map map);

    /**
     * 判断是否为好友
     * @param myId
     * @param friendId
     * @return
     */
    int isExistFriend(String myId, String friendId);

    /**
     * 删除好友
     * @param myId
     * @param friendId
     */
    void removeFriend(String myId, String friendId);


}
